#include <stdio.h>
#include <pthread.h>

void* threadFunc(void* arg) {

	printf("In new thread\n");
}


// 当前代码引入了 pthread 库，使用gcc编译时需要指明 pthread 库
// gcc hello_thread.c -o hello_thread -pthread
// gcc hello_thread.c -o hello_thread -l pthread
int main() {

	pthread_t tid;	// Thread id
	
	/*
	 线程创建函数，参数列表如下
	 1. Thread id address
	 2. Thread attribute address
	 3. Thread Function address
	 4. Thread parameters address
	 */
	pthread_create(&tid, NULL, threadFunc, NULL);

	// 等待指定线程结束 （ tid指定的线程 ）
	// 注意：如果主线程的执行流结束后，随之进程会结束，并释放进程资源
	// 如果主线程执行结束后，子线程的执行流还未结束，那么随着进程的结束，子线程的执行流也随之结束
	pthread_join(tid, NULL);

	printf("In main thread.\n");

	return 0;
}
